Apex ডেটা টাইপস এবং ভেরিয়েবল সম্পর্কে জানলে Salesforce-এ ডেটা ম্যানিপুলেশন এবং লজিক্যাল অপারেশন করা সহজ হয়। Apex বিভিন্ন ধরনের ডেটা টাইপ সমর্থন করে, যা প্রতিটি ভেরিয়েবলের জন্য ডেটার ধরন নির্ধারণ করে। নিচে Apex-এ ব্যবহৃত ডেটা টাইপ এবং ভেরিয়েবল ডিক্লারেশন নিয়ে বিস্তারিত আলোচনা করা হলো।
Apex ডেটা টাইপস
Apex ডেটা টাইপস মূলত দুটি প্রধান ভাগে বিভক্ত: Primitive Data Types এবং Complex Data Types। এছাড়াও, Collections এবং sObject টাইপও রয়েছে, যা ডেটা সংরক্ষণ এবং ম্যানেজমেন্টে সহায়ক।
১. Primitive Data Types (প্রিমিটিভ ডেটা টাইপস)
Primitive Data Types Apex-এর সাধারণ ডেটা টাইপ, যা সহজ ডেটা সংরক্ষণ করতে ব্যবহার করা হয়।
- Integer: পূর্ণসংখ্যা সংরক্ষণ করে। উদাহরণ:
public Integer count = 10; - Double: দশমিক সংখ্যা সংরক্ষণ করে। উদাহরণ:
public Double price = 19.99; - Long: বড় পূর্ণসংখ্যা সংরক্ষণ করে। উদাহরণ:
public Long bigNumber = 1234567890L; - String: টেক্সট বা স্ট্রিং সংরক্ষণ করে। উদাহরণ:
public String name = 'Apex Language'; - Boolean: সত্য বা মিথ্যা মান ধারণ করে। উদাহরণ:
public Boolean isActive = true; - Date: তারিখ সংরক্ষণ করে। উদাহরণ:
public Date today = Date.today(); - Time: সময় সংরক্ষণ করে। উদাহরণ:
public Time now = Time.now(); - Datetime: তারিখ ও সময় একত্রে সংরক্ষণ করে। উদাহরণ:
public Datetime current = Datetime.now(); - ID: Salesforce রেকর্ডের জন্য ইউনিক আইডি সংরক্ষণ করে। উদাহরণ:
public Id recordId = '0015g00000abc123';
২. Complex Data Types (কমপ্লেক্স ডেটা টাইপস)
Complex Data Types-এ অন্যান্য অবজেক্টের রেফারেন্স রাখা হয় বা ক্লাসের মাধ্যমে ডেটা মডেল তৈরি করা যায়।
- Object: যেকোনো ধরনের ডেটা ধারণ করতে পারে, এটি একটি সাধারণ ডেটা টাইপ।
- List: একাধিক ডেটা সংগ্রহ করার জন্য ব্যবহার করা হয়। উদাহরণ:
public List<String> names = new List<String>(); - Set: ইউনিক ডেটার একটি কালেকশন রাখে। উদাহরণ:
public Set<Integer> uniqueNumbers = new Set<Integer>(); - Map: কী-ভ্যালু পেয়ার স্টোর করে। উদাহরণ:
public Map<String, Integer> scoreMap = new Map<String, Integer>();
৩. Collections
Collections মূলত একাধিক মান সংরক্ষণ করতে ব্যবহৃত হয়। Apex-এ তিন ধরনের Collection রয়েছে:
List: একাধিক ভ্যালু স্টোর করতে ব্যবহার করা হয়, যেকোনো ধরনের ডেটা ধারণ করতে পারে।
List<String> cities = new List<String>{'Dhaka', 'Chittagong', 'Khulna'};
Set: ইউনিক ভ্যালু সংরক্ষণ করে এবং কোনো ডুপ্লিকেট ভ্যালু গ্রহণ করে না।
Set<String> uniqueNames = new Set<String>{'John', 'Doe', 'Smith'};
Map: কী-ভ্যালু পেয়ার ফরম্যাটে ডেটা সংরক্ষণ করতে ব্যবহার করা হয়।
Map<String, Integer> ageMap = new Map<String, Integer>{'John' => 25, 'Doe' => 30};
৪. sObject (Salesforce Object)
sObject হল Salesforce ডেটাবেজ অবজেক্টের একটি টাইপ, যা Salesforce রেকর্ডকে নির্দেশ করে। Apex-এ প্রতিটি Salesforce অবজেক্ট sObject টাইপের মাধ্যমে এক্সেস করা যায়।
Account acc = new Account();
acc.Name = 'Tech Company';
insert acc;
Apex ভেরিয়েবল ডিক্লারেশন
Apex-এ ভেরিয়েবল ডিক্লারেশন করতে প্রথমে ডেটা টাইপ, এরপর ভেরিয়েবল নাম উল্লেখ করতে হয়। ভেরিয়েবল ডিক্লারেশন ইনিশিয়ালাইজেশনসহ বা ইনিশিয়ালাইজেশন ছাড়াও করা যায়।
ভেরিয়েবল ডিক্লারেশন এবং ইনিশিয়ালাইজেশন উদাহরণ:
// Primitive Data Types
Integer count = 10;
String name = 'Apex Tutorial';
Boolean isActive = true;
Double amount = 99.99;
Date today = Date.today();
// Complex Data Types
List<String> colors = new List<String>{'Red', 'Green', 'Blue'};
Set<Integer> uniqueNumbers = new Set<Integer>{1, 2, 3, 4};
Map<String, Integer> ageMap = new Map<String, Integer>{'John' => 25, 'Doe' => 30};
// sObject
Account acc = new Account(Name = 'Example Account');
ভেরিয়েবল সংক্রান্ত কিছু গুরুত্বপূর্ণ নিয়ম
নামকরণ কনভেনশন: ভেরিয়েবলের নাম অর্থপূর্ণ এবং সাধারণত ক্যামেল কেসে রাখা উচিত (যেমন: myVariable, totalAmount)।
Access Modifiers: ভেরিয়েবলে অ্যাক্সেস মডিফায়ার ব্যবহার করা যায়, যেমন public, private, global ইত্যাদি।
Scope (স্কোপ): ভেরিয়েবলের স্কোপ নির্ভর করে এটি কোথায় ডিক্লার করা হয়েছে তার উপর, যেমন মেথডের ভিতরে ডিক্লার করা ভেরিয়েবল সেই মেথডের জন্যই সীমাবদ্ধ থাকে।
Constants: Apex-এ ভেরিয়েবলকে final করে স্থির মান নির্ধারণ করা যায়, যা পরবর্তীতে পরিবর্তন করা যায় না।
public final Integer MAX_LIMIT = 100;
উদাহরণ: ভেরিয়েবল ব্যবহার
public class ExampleClass {
public String name = 'Apex Language'; // Class-level variable
private Integer count = 0; // Private variable
public void updateCount(Integer value) {
count = value;
}
public void displayInfo() {
System.debug('Name: ' + name);
System.debug('Count: ' + count);
}
}
Apex-এর ডেটা টাইপ এবং ভেরিয়েবল ব্যবহারের এই কাঠামো Salesforce প্ল্যাটফর্মে ডেটা ম্যানেজমেন্ট এবং লজিক্যাল অপারেশন সহজ করে, যা ডেভেলপারদের কার্যকর কোড লিখতে সহায়ক।
Primitive Data Types Apex-এ সেই মৌলিক ডেটা টাইপগুলি, যা সাধারণত কোনো অবজেক্ট বা ক্লাসের রেফারেন্স ছাড়াই ব্যবহার করা যায়। Apex প্রোগ্রামিং ভাষায় চারটি প্রধান প্রিমিটিভ ডেটা টাইপ রয়েছে: Integer, Double, Boolean, এবং String। প্রতিটি টাইপের ব্যবহার এবং বৈশিষ্ট্য সম্পর্কে নিচে বিস্তারিত আলোচনা করা হলো:
১. Integer
Integer হলো একটি প্রিমিটিভ ডেটা টাইপ যা পূর্ণসংখ্যা (বিন্দু ছাড়াই) স্টোর করার জন্য ব্যবহৃত হয়। এটি -2,147,483,648 থেকে 2,147,483,647 পর্যন্ত মান ধারণ করতে সক্ষম।
উদাহরণ:
Integer count = 100;
Integer negativeValue = -20;
ব্যবহার: Integer সাধারণত কাউন্টার, লুপ ইটারেশন, এবং এমন ডেটা সংরক্ষণে ব্যবহৃত হয় যেখানে শুধুমাত্র পূর্ণসংখ্যা প্রয়োজন।
২. Double
Double একটি দশমিক সংখ্যা ধারণ করার জন্য ব্যবহৃত হয়। এটি 15 সংখ্যা পর্যন্ত নির্ভুল দশমিক মান ধারণ করতে সক্ষম। Double ডেটা টাইপ সাধারণত মুদ্রা, ওজন, দৈর্ঘ্য ইত্যাদি দশমিক মান যুক্ত ডেটা সংরক্ষণে ব্যবহৃত হয়।
উদাহরণ:
Double price = 99.99;
Double weight = 75.5;
ব্যবহার: Double সাধারণত যখন দশমিক যুক্ত মান দরকার হয়, যেমন মুদ্রার মান, গড় নির্ণয়, বা পরিমাপের জন্য ব্যবহৃত হয়।
৩. Boolean
Boolean একটি লজিক্যাল ডেটা টাইপ, যা শুধুমাত্র দুটি মান ধারণ করতে পারে: true বা false। Boolean টাইপ সাধারণত লজিক্যাল কন্ডিশন বা স্টেট চেক করতে ব্যবহৃত হয়।
উদাহরণ:
Boolean isActive = true;
Boolean isAvailable = false;
ব্যবহার: Boolean সাধারণত কোনো শর্ত বা স্টেট চেক করার জন্য ব্যবহৃত হয়, যেমন কোনো ইউজার অ্যাক্টিভ আছে কিনা, বা কোনো প্রোডাক্ট স্টকে আছে কিনা।
৪. String
String হলো টেক্সট ডেটা ধারণ করার জন্য ব্যবহৃত প্রিমিটিভ টাইপ। এটি এক বা একাধিক অক্ষরের সমন্বয়ে গঠিত হয় এবং এর মাধ্যমে সাধারণত টেক্সট ডেটা সংরক্ষণ করা হয়।
উদাহরণ:
String name = 'John Doe';
String message = 'Welcome to Salesforce!';
ব্যবহার: String সাধারণত কোনো টেক্সট ডেটা, যেমন ইউজারের নাম, ঠিকানা, বার্তা ইত্যাদি সংরক্ষণে ব্যবহৃত হয়।
সংক্ষেপে প্রিমিটিভ ডেটা টাইপগুলোর ব্যবহার
- Integer: পূর্ণসংখ্যা সংরক্ষণে।
- Double: দশমিক মান সংরক্ষণে।
- Boolean: লজিক্যাল সত্য/মিথ্যা মান সংরক্ষণে।
- String: টেক্সট বা চরিত্র সংরক্ষণে।
Apex-এর এই প্রিমিটিভ ডেটা টাইপগুলো সাধারণ ডেটা ম্যানেজমেন্ট ও লজিক্যাল কন্ডিশন চেকের জন্য গুরুত্বপূর্ণ ভূমিকা পালন করে।
কমপ্লেক্স ডেটা টাইপস Apex-এ ডেটার একটি বড় সংগ্রহ সংরক্ষণ ও ম্যানেজ করার জন্য ব্যবহার করা হয়। কমপ্লেক্স ডেটা টাইপের মধ্যে List, Set, এবং Map উল্লেখযোগ্য, যা বিভিন্ন ধরনের ডেটা স্টোরেজ এবং ম্যানিপুলেশনের জন্য Apex-এ বিশেষভাবে ব্যবহৃত হয়।
১. List
List হলো এমন একটি ডেটা স্ট্রাকচার যেখানে একই ধরনের একাধিক ডেটা সিকোয়েন্স বা অর্ডারের ভিত্তিতে সংরক্ষণ করা হয়। List-এ ডুপ্লিকেট মান থাকতে পারে এবং ইনডেক্স ব্যবহার করে আইটেম এক্সেস করা যায়।
List-এর বৈশিষ্ট্য:
- ডুপ্লিকেট মান সংরক্ষণ করতে পারে।
- ইনডেক্স ব্যবহার করে ডেটা এক্সেস এবং মডিফাই করা যায়।
newকিওয়ার্ড এবংListক্লাস ব্যবহার করে List তৈরি করা যায়।
List উদাহরণ:
// String টাইপের একটি List তৈরি
List<String> cities = new List<String>{'Dhaka', 'Chittagong', 'Khulna'};
// List এ নতুন আইটেম যোগ করা
cities.add('Rajshahi');
// List থেকে আইটেম বের করা
String firstCity = cities[0]; // Dhaka
System.debug('First city: ' + firstCity);
// List এর সাইজ পাওয়া
Integer listSize = cities.size();
System.debug('List size: ' + listSize);
সাধারণত ব্যবহৃত List মেথড:
- add(value): List-এ একটি আইটেম যোগ করে।
- addAll(collection): একাধিক আইটেম যোগ করে।
- get(index): নির্দিষ্ট ইনডেক্সের আইটেম রিটার্ন করে।
- remove(index): নির্দিষ্ট ইনডেক্সের আইটেম রিমুভ করে।
- clear(): List-এর সব আইটেম মুছে ফেলে।
- size(): List-এর মোট আইটেম সংখ্যা রিটার্ন করে।
২. Set
Set হলো একটি ডেটা স্ট্রাকচার যা ইউনিক মান সংরক্ষণ করতে ব্যবহার করা হয়। Set-এ কোনো ডুপ্লিকেট মান থাকতে পারে না এবং এতে কোনো অর্ডার থাকে না, তাই ইনডেক্স ব্যবহার করা যায় না।
Set-এর বৈশিষ্ট্য:
- ইউনিক মান সংরক্ষণ করে, কোনো ডুপ্লিকেট মান থাকে না।
- ইনডেক্সিং সাপোর্ট না করায় সরাসরি কোনো নির্দিষ্ট মান অ্যাক্সেস করা যায় না।
newকিওয়ার্ড এবংSetক্লাস ব্যবহার করে Set তৈরি করা যায়।
Set উদাহরণ:
// Integer টাইপের একটি Set তৈরি
Set<Integer> uniqueNumbers = new Set<Integer>{1, 2, 3, 4};
// Set এ নতুন আইটেম যোগ করা
uniqueNumbers.add(5);
// ডুপ্লিকেট আইটেম যোগ করলে কোনো পরিবর্তন হবে না
uniqueNumbers.add(3);
// Set-এর সাইজ পাওয়া
Integer setSize = uniqueNumbers.size();
System.debug('Set size: ' + setSize); // আউটপুট: 5
সাধারণত ব্যবহৃত Set মেথড:
- add(value): Set-এ একটি ইউনিক আইটেম যোগ করে।
- addAll(collection): একাধিক আইটেম যোগ করে।
- remove(value): নির্দিষ্ট মানের আইটেম রিমুভ করে।
- contains(value): নির্দিষ্ট মানের উপস্থিতি যাচাই করে।
- clear(): Set-এর সব আইটেম মুছে ফেলে।
- size(): Set-এর মোট আইটেম সংখ্যা রিটার্ন করে।
৩. Map
Map হলো একটি ডেটা স্ট্রাকচার যা কী-ভ্যালু পেয়ার ফরম্যাটে ডেটা সংরক্ষণ করে। প্রতিটি কী একটি ইউনিক মান ধারণ করে এবং তার সাথে সম্পর্কিত একটি ভ্যালু থাকে।
Map-এর বৈশিষ্ট্য:
- কী ইউনিক এবং মান ডুপ্লিকেট হতে পারে।
- সরাসরি কী ব্যবহার করে ভ্যালু অ্যাক্সেস করা যায়।
newকিওয়ার্ড এবংMapক্লাস ব্যবহার করে Map তৈরি করা যায়।
Map উদাহরণ:
// String এবং Integer টাইপের কী-ভ্যালু পেয়ার সহ একটি Map তৈরি
Map<String, Integer> ageMap = new Map<String, Integer>{'John' => 25, 'Doe' => 30};
// Map এ নতুন কী-ভ্যালু পেয়ার যোগ করা
ageMap.put('Smith', 28);
// একটি কী থেকে ভ্যালু বের করা
Integer age = ageMap.get('Doe'); // আউটপুট: 30
System.debug('Age of Doe: ' + age);
// Map এর সাইজ পাওয়া
Integer mapSize = ageMap.size();
System.debug('Map size: ' + mapSize); // আউটপুট: 3
সাধারণত ব্যবহৃত Map মেথড:
- put(key, value): নির্দিষ্ট কী-ভ্যালু পেয়ার যোগ করে।
- get(key): নির্দিষ্ট কী-র ভ্যালু রিটার্ন করে।
- remove(key): নির্দিষ্ট কী এবং তার ভ্যালু রিমুভ করে।
- containsKey(key): নির্দিষ্ট কী এর উপস্থিতি যাচাই করে।
- clear(): Map-এর সব কী-ভ্যালু পেয়ার মুছে ফেলে।
- size(): Map-এর মোট কী-ভ্যালু সংখ্যা রিটার্ন করে।
সংক্ষেপে: List, Set, এবং Map তুলনা
| বৈশিষ্ট্য | List | Set | Map |
|---|---|---|---|
| ইউনিক মান | না | হ্যাঁ | কী ইউনিক, ভ্যালু ডুপ্লিকেট |
| ইনডেক্সিং | হ্যাঁ | না | না |
| অর্ডার | সিকোয়েন্সে সংরক্ষিত | কোনো নির্দিষ্ট অর্ডার নেই | কোনো নির্দিষ্ট অর্ডার নেই |
| উদাহরণ | List<String> | Set<Integer> | Map<String, Integer> |
| ব্যবহার | একাধিক মান সংরক্ষণ | ইউনিক মান সংরক্ষণ | কী-ভ্যালু পেয়ার সংরক্ষণ |
উপসংহার:
List, Set এবং Map Apex-এ ডেটা সংগ্রহ এবং ম্যানিপুলেশনের জন্য বিশেষভাবে ব্যবহৃত হয়। List সিকোয়েন্স হিসেবে এবং ডুপ্লিকেটসহ ডেটা সংরক্ষণ করতে ব্যবহৃত হয়, Set ইউনিক মান সংরক্ষণ করতে উপযোগী, এবং Map কী-ভ্যালু পেয়ার সংরক্ষণ ও পরিচালনার জন্য সহায়ক। এই তিনটি ডেটা টাইপ কমপ্লেক্স ডেটা সংরক্ষণ ও ব্যবহারের ক্ষেত্রে Apex-এ বিভিন্ন ধরনের কার্যক্রম সহজ করে।
Enum এবং Custom Data Types Apex-এ কাস্টম ডেটা গঠন তৈরির জন্য ব্যবহৃত হয়। Enum মূলত একটি নির্দিষ্ট মানের তালিকা তৈরি করে যেখানে প্রতিটি মান আলাদা, এবং Custom Data Types সাধারণত ডেটার কাস্টম কাঠামো তৈরি করতে ক্লাসের মাধ্যমে সংজ্ঞায়িত হয়।
Enum
Enum হলো একটি কাস্টম ডেটা টাইপ যা কিছু নির্দিষ্ট মানের তালিকা সংরক্ষণ করে। Enum ডেটা টাইপ ব্যবহার করে একটি ভ্যারিয়েবলের মান সীমিত করা যায় নির্দিষ্ট কিছু মূল্যে, যা মূলত একটি স্থির সেটের মধ্যে থাকে। Apex-এ Enum ব্যবহার করার সুবিধা হলো এটি কোডের রিডেবিলিটি এবং মানের নির্ভুলতা নিশ্চিত করে, কারণ ভ্যারিয়েবলের মান সীমাবদ্ধ করা যায় কিছু নির্দিষ্ট মূল্যে।
উদাহরণ:
public enum Status {
NEW,
IN_PROGRESS,
COMPLETED,
CLOSED
}
এখানে Status নামে একটি Enum তৈরি করা হয়েছে যা চারটি মান ধারণ করে: NEW, IN_PROGRESS, COMPLETED, এবং CLOSED। এই Enum ব্যবহার করে কোনো ভ্যারিয়েবলকে এই চারটি মানের একটি সেট করতে বাধ্য করা যায়।
ব্যবহার:
Status currentStatus = Status.NEW;
if (currentStatus == Status.NEW) {
System.debug('The status is new.');
}
এখানে currentStatus ভ্যারিয়েবল শুধুমাত্র Status Enum এর একটি মান ধারণ করতে পারে, ফলে অপ্রত্যাশিত মান এড়ানো সম্ভব।
Custom Data Types
Custom Data Types হল এমন ডেটা টাইপ যা ডেভেলপার নিজের প্রয়োজন অনুযায়ী তৈরি করতে পারেন। এটি সাধারণত একটি ক্লাস ব্যবহার করে তৈরি করা হয়, যাতে বিভিন্ন প্রোপার্টি এবং মেথড যুক্ত করা যায়। Custom Data Types ব্যবহার করে কোনো ডেটার বিশেষ কাঠামো সংজ্ঞায়িত করা সম্ভব, যা প্রয়োজন অনুযায়ী ডেটার বিভিন্ন গঠন এবং কার্যক্ষমতা নির্ধারণ করতে সহায়ক।
উদাহরণ:
ধরুন, আমরা একটি Custom Data Type তৈরি করতে চাই যা Contact এর বিভিন্ন তথ্য সংরক্ষণ করবে।
public class ContactInfo {
public String name;
public String email;
public String phone;
// কনস্ট্রাক্টর
public ContactInfo(String name, String email, String phone) {
this.name = name;
this.email = email;
this.phone = phone;
}
// একটি মেথড
public void displayInfo() {
System.debug('Name: ' + name + ', Email: ' + email + ', Phone: ' + phone);
}
}
এখানে ContactInfo নামে একটি Custom Data Type তৈরি করা হয়েছে যেখানে name, email, এবং phone ফিল্ড রয়েছে। এই ক্লাসে একটি কনস্ট্রাক্টর এবং displayInfo নামে একটি মেথডও রয়েছে, যা এই ক্লাসের ডেটা প্রদর্শন করতে ব্যবহৃত হবে।
ব্যবহার:
ContactInfo contact = new ContactInfo('John Doe', 'john.doe@example.com', '123-456-7890');
contact.displayInfo();
এই উদাহরণে, contact নামে একটি Custom Data Type তৈরি করা হয়েছে, যা ContactInfo ক্লাসের ডেটা ধারণ করে এবং displayInfo() মেথড ব্যবহার করে তথ্য প্রদর্শন করে।
সংক্ষেপে Enum এবং Custom Data Types-এর ব্যবহার
- Enum: কিছু নির্দিষ্ট মানের তালিকা তৈরি করতে এবং মান সীমাবদ্ধ করতে ব্যবহৃত হয়, যেমন স্ট্যাটাস, বিভাগ, বা ধাপের নাম।
- Custom Data Types: কোনো নির্দিষ্ট কাঠামো এবং মেথড সংযুক্ত করতে কাস্টম ক্লাস ব্যবহার করে তৈরি করা হয়, যা ডেটার বিভিন্ন ফিল্ড ও কার্যক্রম একত্রে সংজ্ঞায়িত করে।
Enum এবং Custom Data Types Apex-এ কাস্টমাইজেশন এবং কোডের পরিষ্কারতা বৃদ্ধি করতে অত্যন্ত কার্যকর।
Variables এবং Constants Apex প্রোগ্রামিং ভাষার অত্যন্ত গুরুত্বপূর্ণ অংশ, যা ডেটা সংরক্ষণ এবং ব্যবহারের জন্য ব্যবহৃত হয়। ভেরিয়েবল পরিবর্তনশীল ডেটা ধারণ করতে সক্ষম, যেখানে কনস্ট্যান্ট একটি স্থির মান ধারণ করে যা পরবর্তীতে পরিবর্তন করা যায় না।
Variables (ভেরিয়েবল)
Variable হলো একটি স্টোরেজ যা প্রোগ্রাম চলাকালীন ডেটা সংরক্ষণ এবং পরিবর্তনের জন্য ব্যবহৃত হয়। ভেরিয়েবল একটি নির্দিষ্ট ডেটা টাইপের ডেটা ধারণ করে এবং প্রোগ্রাম বিভিন্ন স্থানে ব্যবহৃত হতে পারে।
Variable ডিক্লারেশন এবং ইনিশিয়ালাইজেশন
Apex-এ ভেরিয়েবল ডিক্লারেশন করতে প্রথমে ডেটা টাইপ, তারপর ভেরিয়েবল নাম উল্লেখ করতে হয়।
উদাহরণ:
// String টাইপের একটি ভেরিয়েবল ডিক্লার এবং ইনিশিয়ালাইজ করা
String message = 'Hello, Apex!';
// Integer টাইপের একটি ভেরিয়েবল ডিক্লার এবং ইনিশিয়ালাইজ করা
Integer count = 10;
// Boolean টাইপের একটি ভেরিয়েবল
Boolean isActive = true;
// Date টাইপের একটি ভেরিয়েবল ইনিশিয়ালাইজ করা
Date today = Date.today();
Variables এর ব্যবহার
ভেরিয়েবলের মান পরিবর্তন করা এবং পুনরায় ব্যবহার করা যায়। উদাহরণস্বরূপ, নিচের কোডে count ভেরিয়েবলের মান পরিবর্তন করা হয়েছে এবং message ভেরিয়েবলের মান প্রিন্ট করা হয়েছে:
public class VariableExample {
public void variableUsage() {
Integer count = 10;
System.debug('Initial count: ' + count); // Output: 10
// ভেরিয়েবলের মান পরিবর্তন করা
count = 20;
System.debug('Updated count: ' + count); // Output: 20
// String ভেরিয়েবলের ব্যবহার
String message = 'Welcome to Apex Programming!';
System.debug('Message: ' + message);
}
}
Constants (কনস্ট্যান্ট)
Constant একটি স্থির মান যা ডিক্লারেশন করার পরে আর পরিবর্তন করা যায় না। কনস্ট্যান্ট তৈরি করার জন্য final কিওয়ার্ড ব্যবহার করা হয়, যা ভেরিয়েবলটিকে read-only করে দেয়। Constants সাধারণত এমন মান ধরে যা প্রোগ্রাম চলাকালীন কোনো অবস্থাতেই পরিবর্তন হয় না, যেমনঃ PI এর মান, সার্ভারের URL, বা কোনো নির্দিষ্ট সীমা মান।
Constant ডিক্লারেশন
Apex-এ Constant ডিক্লার করার জন্য final কিওয়ার্ড ব্যবহার করা হয় এবং এটি ইনিশিয়ালাইজ করার পরে পরিবর্তন করা সম্ভব নয়।
উদাহরণ:
// Integer টাইপের একটি কনস্ট্যান্ট ডিক্লার এবং ইনিশিয়ালাইজ করা
public final Integer MAX_COUNT = 100;
// String টাইপের একটি কনস্ট্যান্ট
public final String WELCOME_MESSAGE = 'Welcome to Salesforce!';
// Double টাইপের কনস্ট্যান্ট
public final Double PI = 3.14159;
Constants এর ব্যবহার
Constant ব্যবহারের মাধ্যমে কোড আরও নিরাপদ এবং সুসংহত হয়, কারণ এটি ডিক্লার করার পরে ভুলবশত পরিবর্তিত হতে পারে না। উদাহরণস্বরূপ, নিচের কোডে MAX_COUNT এবং PI কনস্ট্যান্ট ব্যবহার করা হয়েছে:
public class ConstantExample {
public final Integer MAX_COUNT = 100; // Constant
public final Double PI = 3.14159; // Constant
public void calculateCircleArea(Double radius) {
Double area = PI * radius * radius;
System.debug('Circle Area: ' + area);
}
public void checkMaxCount(Integer count) {
if (count > MAX_COUNT) {
System.debug('Count exceeds the maximum limit.');
} else {
System.debug('Count is within the limit.');
}
}
}
উপরের উদাহরণে, PI কনস্ট্যান্টের মাধ্যমে সার্কেলের ক্ষেত্রফল গণনা করা হয়েছে এবং MAX_COUNT কনস্ট্যান্ট ব্যবহার করে একটি শর্ত চেক করা হয়েছে।
Variables এবং Constants-এর মূল পার্থক্য
| বৈশিষ্ট্য | Variable | Constant |
|---|---|---|
| মান পরিবর্তনযোগ্যতা | হ্যাঁ, মান পরিবর্তন করা যায়। | না, মান পরিবর্তন করা যায় না। |
| কিওয়ার্ড | কোনো নির্দিষ্ট কিওয়ার্ড নেই | final কিওয়ার্ড ব্যবহার করা হয়। |
| ব্যবহার | পরিবর্তনশীল ডেটা সংরক্ষণে | স্থির ডেটা সংরক্ষণে |
| উদাহরণ | Integer count = 10; | final Integer MAX_COUNT = 100; |
সংক্ষেপে:
- Variables পরিবর্তনশীল ডেটা সংরক্ষণ করে, যা প্রোগ্রামের বিভিন্ন স্থানে পরিবর্তিত হতে পারে।
- Constants স্থির ডেটা সংরক্ষণ করে, যা একবার নির্ধারণ করার পর আর পরিবর্তন করা সম্ভব নয়।
Variables এবং Constants-এর এই ব্যবহারের মাধ্যমে Apex কোডে ডেটা সংরক্ষণ এবং ম্যানেজমেন্ট আরও কার্যকরভাবে সম্পন্ন করা যায়।
Read more